Day 15 문자열, 해시, 배열, 수학

Day15 15단계 20231103

1. 영어가 싫어요

class Solution {
    public long solution(String numbers) {
		String[][] change = {{"zero", "0"}, {"one", "1"},{"two", "2"},{"three", "3"},{"four", "4"},{"five", "5"},{"six", "6"},{"seven", "7"},{"eight", "8"},{"nine", "9"}};
		for(String[] st : change) {
			if(numbers.contains(st[0])) {
				numbers = numbers.replaceAll(st[0], st[1]);
			}
		}
        return Long.parseLong(numbers);
    }
}

2. 인덱스 바꾸기

class Solution {
    public String solution(String my_string, int num1, int num2) {
		StringBuilder sb = new StringBuilder();
		for(int i = 0; i < my_string.length(); i++) {
			if(i == num1) {
				sb.append(my_string.charAt(num2));
			} else if (i == num2) {
				sb.append(my_string.charAt(num1));
			} else {
				sb.append(my_string.charAt(i));
			}
		}
        return sb.toString();
    }
}
char[] chArray = my_string.toCharArray();
chArray[num1] = my_string.charAt(num2);
chArray[num2] = my_string.charAt(num1);
return String.valueOf(chArray);
List<String> list = Arrays.stream(my_string.split("")).collect(Collectors.toList());
Collections.swap(list, num1, num2);
return String.join("", list);

3. 한 번만 등장한 문자

import java.util.*;

class Solution {
    public String solution(String s) {
		ArrayList<String> list = new ArrayList<>();
		HashMap<String, Integer> map = new HashMap<>();
		for(String str : s.split("")) {
			map.put(str, map.getOrDefault(str, 0)+1);
		}
		for(Map.Entry<String, Integer> entry : map.entrySet()) {
			if (entry.getValue() == 1) {
				list.add(entry.getKey());
			}
		}
		Collections.sort(list);
        return String.join("",list);
    }
}
int[] alpha = new int[26];
for (char c : s.toCharArray()) {
	alpha[c-'a']++;
}
StringBuilder sb = new StringBuilder();
for(int i = 0; i < alpha.length; i++) {
	if (alpha[i] == 1) {
		sb.append((char)(i+'a'));
	}
}
return sb.toString();


4. 약수 구하기

import java.util.*;
class Solution {
    public int[] solution(int n) {
        List<Integer> list = new ArrayList<>();
        for(int i = 1; i <= n; i++) {
            if(n%i==0) {
                list.add(i);
            }
        }
        return list.streamintValue).toArray(;
    }
}